pull: Disable static deltas by default for local pulls
authorDan Nicholson <nicholson@endlessm.com>
Fri, 5 Aug 2016 13:52:55 +0000 (06:52 -0700)
committerAtomic Bot <atomic-devel@projectatomic.io>
Wed, 10 Aug 2016 10:54:46 +0000 (10:54 +0000)
For local pulls there's no benefit pulling the static delta over the
individual object files since there's no HTTP overhead. Furthermore,
processing deltas always generates the objects whereas a standard pull
ensures that the exact object files are copied. Using deltas also
prevents hardlinking the objects if the repos exist on the same
filesystem.

Closes: #447
Closes: #448
Approved by: cgwalters

src/libostree/ostree-repo-pull.c

index 712f17dc1fd0bd82c7c8ae65d245aa9d9146dd1d..5fe30e0888225b341f220617f7f4602a2e87bf96 100644 (file)
@@ -2413,6 +2413,12 @@ ostree_repo_pull_with_options (OstreeRepo             *self,
         }
     }
 
+  /* For local pulls, default to disabling static deltas so that the
+   * exact object files are copied.
+   */
+  if (pull_data->remote_repo_local && !require_static_deltas)
+    disable_static_deltas = TRUE;
+
   pull_data->static_delta_superblocks = g_ptr_array_new_with_free_func ((GDestroyNotify)g_variant_unref);
 
   {